package com.ecoolex.ying.space.entity;

import com.ecoolex.framework.common.annotation.Description;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.lang.NonNull;

public class DesignerProjectItemsProductCustomExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer offset;

    protected Integer rows;

    public DesignerProjectItemsProductCustomExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public DesignerProjectItemsProductCustomExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    public DesignerProjectItemsProductCustomExample orderBy(String ... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria(this);
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
        rows = null;
        offset = null;
    }

    public static Criteria newAndCreateCriteria() {
        DesignerProjectItemsProductCustomExample example = new DesignerProjectItemsProductCustomExample();
        return example.createCriteria();
    }

    public DesignerProjectItemsProductCustomExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    public DesignerProjectItemsProductCustomExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return this.offset;
    }

    public void setRows(Integer rows) {
        this.rows = rows;
    }

    public Integer getRows() {
        return this.rows;
    }

    public DesignerProjectItemsProductCustomExample limit(Integer rows) {
        this.rows = rows;
        return this;
    }

    public DesignerProjectItemsProductCustomExample limit(Integer offset, Integer rows) {
        this.offset = offset;
        this.rows = rows;
        return this;
    }

    public DesignerProjectItemsProductCustomExample page(Integer page, Integer pageSize) {
        this.offset = page * pageSize;
        this.rows = pageSize;
        return this;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andItemsProductIdIsNull() {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId is null");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId is not null");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId =", value, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsProductId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsProductIdNotEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId <>", value, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsProductId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsProductIdGreaterThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId >", value, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsProductId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsProductIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId >=", value, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsProductId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsProductIdLessThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId <", value, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsProductId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsProductIdLessThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId <=", value, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsProductId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsProductIdIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId in", values, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdNotIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId not in", values, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId between", value1, value2, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andItemsProductIdNotBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ItemsProductId not between", value1, value2, "itemsProductId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("designerprojectitemsproductcustom.UserId is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.UserId is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.UserId =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UserId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.UserId <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UserId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.UserId >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UserId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.UserId >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UserId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.UserId <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UserId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.UserId <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UserId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.UserId in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.UserId not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.UserId between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.UserId not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProjectId is null");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProjectId is not null");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProjectId =", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProjectId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProjectId <>", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProjectId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProjectId >", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProjectId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProjectId >=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProjectId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProjectId <", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProjectId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProjectId <=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProjectId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ProjectId in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ProjectId not in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ProjectId between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ProjectId not between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andItemsIdIsNull() {
            addCriterion("designerprojectitemsproductcustom.ItemsId is null");
            return (Criteria) this;
        }

        public Criteria andItemsIdIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ItemsId is not null");
            return (Criteria) this;
        }

        public Criteria andItemsIdEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsId =", value, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsIdNotEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsId <>", value, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsIdGreaterThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsId >", value, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsId >=", value, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsIdLessThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsId <", value, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsIdLessThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ItemsId <=", value, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ItemsId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andItemsIdIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ItemsId in", values, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdNotIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ItemsId not in", values, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ItemsId between", value1, value2, "itemsId");
            return (Criteria) this;
        }

        public Criteria andItemsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ItemsId not between", value1, value2, "itemsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdIsNull() {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId is null");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId is not null");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId =", value, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickGoodsId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdNotEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId <>", value, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickGoodsId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdGreaterThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId >", value, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickGoodsId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId >=", value, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickGoodsId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdLessThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId <", value, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickGoodsId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdLessThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId <=", value, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickGoodsId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId in", values, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdNotIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId not in", values, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId between", value1, value2, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickGoodsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.PickGoodsId not between", value1, value2, "pickGoodsId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdIsNull() {
            addCriterion("designerprojectitemsproductcustom.PickProductId is null");
            return (Criteria) this;
        }

        public Criteria andPickProductIdIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.PickProductId is not null");
            return (Criteria) this;
        }

        public Criteria andPickProductIdEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickProductId =", value, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickProductId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickProductIdNotEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickProductId <>", value, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickProductId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickProductIdGreaterThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickProductId >", value, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickProductId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickProductIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickProductId >=", value, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickProductId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickProductIdLessThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickProductId <", value, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickProductId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickProductIdLessThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.PickProductId <=", value, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PickProductId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPickProductIdIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.PickProductId in", values, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdNotIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.PickProductId not in", values, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.PickProductId between", value1, value2, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andPickProductIdNotBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.PickProductId not between", value1, value2, "pickProductId");
            return (Criteria) this;
        }

        public Criteria andProductNoIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProductNo is null");
            return (Criteria) this;
        }

        public Criteria andProductNoIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProductNo is not null");
            return (Criteria) this;
        }

        public Criteria andProductNoEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo =", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNo = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNoNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo <>", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNo <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNoGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo >", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNo > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNoGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo >=", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNo >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNoLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo <", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNo < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNoLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo <=", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNo <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNoLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo like", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductNo not like", value, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductNo in", values, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductNo not in", values, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductNo between", value1, value2, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNoNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductNo not between", value1, value2, "productNo");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProductName is null");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProductName is not null");
            return (Criteria) this;
        }

        public Criteria andProductNameEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName =", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductName = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNameNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName <>", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductName <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName >", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductName > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName >=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductName >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNameLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName <", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductName < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName <=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductName <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNameLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductName not like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductName in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductName not in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductName between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductName not between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductTextureIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProductTexture is null");
            return (Criteria) this;
        }

        public Criteria andProductTextureIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProductTexture is not null");
            return (Criteria) this;
        }

        public Criteria andProductTextureEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture =", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductTexture = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductTextureNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture <>", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductTexture <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductTextureGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture >", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductTexture > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductTextureGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture >=", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductTexture >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductTextureLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture <", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductTexture < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductTextureLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture <=", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductTexture <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductTextureLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture like", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture not like", value, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture in", values, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture not in", values, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture between", value1, value2, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductTextureNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductTexture not between", value1, value2, "productTexture");
            return (Criteria) this;
        }

        public Criteria andProductDescribeIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe is null");
            return (Criteria) this;
        }

        public Criteria andProductDescribeIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe is not null");
            return (Criteria) this;
        }

        public Criteria andProductDescribeEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe =", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductDescribe = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductDescribeNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe <>", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductDescribe <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductDescribeGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe >", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductDescribe > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductDescribeGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe >=", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductDescribe >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductDescribeLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe <", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductDescribe < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductDescribeLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe <=", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductDescribe <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductDescribeLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe like", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe not like", value, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe in", values, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe not in", values, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe between", value1, value2, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andProductDescribeNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductDescribe not between", value1, value2, "productDescribe");
            return (Criteria) this;
        }

        public Criteria andBrandNameIsNull() {
            addCriterion("designerprojectitemsproductcustom.BrandName is null");
            return (Criteria) this;
        }

        public Criteria andBrandNameIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.BrandName is not null");
            return (Criteria) this;
        }

        public Criteria andBrandNameEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName =", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.BrandName = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandNameNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName <>", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.BrandName <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName >", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.BrandName > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName >=", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.BrandName >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName <", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.BrandName < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName <=", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.BrandName <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandNameLike(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName like", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.BrandName not like", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.BrandName in", values, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.BrandName not in", values, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.BrandName between", value1, value2, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.BrandName not between", value1, value2, "brandName");
            return (Criteria) this;
        }

        public Criteria andPositionDescrIsNull() {
            addCriterion("designerprojectitemsproductcustom.PositionDescr is null");
            return (Criteria) this;
        }

        public Criteria andPositionDescrIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.PositionDescr is not null");
            return (Criteria) this;
        }

        public Criteria andPositionDescrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr =", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PositionDescr = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPositionDescrNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr <>", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PositionDescr <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPositionDescrGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr >", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PositionDescr > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPositionDescrGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr >=", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PositionDescr >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPositionDescrLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr <", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PositionDescr < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPositionDescrLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr <=", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.PositionDescr <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPositionDescrLike(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr like", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr not like", value, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr in", values, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr not in", values, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr between", value1, value2, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andPositionDescrNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.PositionDescr not between", value1, value2, "positionDescr");
            return (Criteria) this;
        }

        public Criteria andProductNumberIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProductNumber is null");
            return (Criteria) this;
        }

        public Criteria andProductNumberIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProductNumber is not null");
            return (Criteria) this;
        }

        public Criteria andProductNumberEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber =", value, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNumber = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNumberNotEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber <>", value, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNumber <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNumberGreaterThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber >", value, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNumber > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber >=", value, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNumber >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNumberLessThan(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber <", value, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNumber < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNumberLessThanOrEqualTo(Integer value) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber <=", value, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductNumber <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductNumberIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber in", values, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberNotIn(List<Integer> values) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber not in", values, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber between", value1, value2, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("designerprojectitemsproductcustom.ProductNumber not between", value1, value2, "productNumber");
            return (Criteria) this;
        }

        public Criteria andProductImageIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProductImage is null");
            return (Criteria) this;
        }

        public Criteria andProductImageIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProductImage is not null");
            return (Criteria) this;
        }

        public Criteria andProductImageEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage =", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductImage = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductImageNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage <>", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductImage <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductImageGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage >", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductImage > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductImageGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage >=", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductImage >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductImageLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage <", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductImage < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductImageLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage <=", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductImage <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductImageLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage like", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.ProductImage not like", value, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductImage in", values, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.ProductImage not in", values, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductImage between", value1, value2, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductImageNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.ProductImage not between", value1, value2, "productImage");
            return (Criteria) this;
        }

        public Criteria andProductPriceIsNull() {
            addCriterion("designerprojectitemsproductcustom.ProductPrice is null");
            return (Criteria) this;
        }

        public Criteria andProductPriceIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.ProductPrice is not null");
            return (Criteria) this;
        }

        public Criteria andProductPriceEqualTo(BigDecimal value) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice =", value, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductPrice = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductPriceNotEqualTo(BigDecimal value) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice <>", value, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductPrice <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductPriceGreaterThan(BigDecimal value) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice >", value, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductPrice > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice >=", value, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductPrice >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductPriceLessThan(BigDecimal value) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice <", value, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductPrice < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice <=", value, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.ProductPrice <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProductPriceIn(List<BigDecimal> values) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice in", values, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceNotIn(List<BigDecimal> values) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice not in", values, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice between", value1, value2, "productPrice");
            return (Criteria) this;
        }

        public Criteria andProductPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("designerprojectitemsproductcustom.ProductPrice not between", value1, value2, "productPrice");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("designerprojectitemsproductcustom.Remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.Remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Remark = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Remark <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Remark > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Remark >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Remark < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Remark <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.Remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.Remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.Remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.Remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.Remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("designerprojectitemsproductcustom.Deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.Deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Boolean value) {
            addCriterion("designerprojectitemsproductcustom.Deleted =", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Deleted = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualTo(Boolean value) {
            addCriterion("designerprojectitemsproductcustom.Deleted <>", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Deleted <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThan(Boolean value) {
            addCriterion("designerprojectitemsproductcustom.Deleted >", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Deleted > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("designerprojectitemsproductcustom.Deleted >=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Deleted >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedLessThan(Boolean value) {
            addCriterion("designerprojectitemsproductcustom.Deleted <", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Deleted < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualTo(Boolean value) {
            addCriterion("designerprojectitemsproductcustom.Deleted <=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.Deleted <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedIn(List<Boolean> values) {
            addCriterion("designerprojectitemsproductcustom.Deleted in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotIn(List<Boolean> values) {
            addCriterion("designerprojectitemsproductcustom.Deleted not in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedBetween(Boolean value1, Boolean value2) {
            addCriterion("designerprojectitemsproductcustom.Deleted between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("designerprojectitemsproductcustom.Deleted not between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` =", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.`CreateUser` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` <>", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.`CreateUser` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` >", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.`CreateUser` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` >=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.`CreateUser` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` <", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.`CreateUser` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` <=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.`CreateUser` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` not like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` not in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.`CreateUser` not between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("designerprojectitemsproductcustom.CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.CreateTime =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.CreateTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.CreateTime <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.CreateTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("designerprojectitemsproductcustom.CreateTime >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.CreateTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.CreateTime >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.CreateTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("designerprojectitemsproductcustom.CreateTime <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.CreateTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.CreateTime <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.CreateTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("designerprojectitemsproductcustom.CreateTime in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("designerprojectitemsproductcustom.CreateTime not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("designerprojectitemsproductcustom.CreateTime between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("designerprojectitemsproductcustom.CreateTime not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIsNull() {
            addCriterion("designerprojectitemsproductcustom.UpdateUser is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.UpdateUser is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser =", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateUser = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser <>", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateUser <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThan(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser >", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateUser > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser >=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateUser >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThan(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser <", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateUser < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanOrEqualTo(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser <=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateUser <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLike(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotLike(String value) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser not like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotIn(List<String> values) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser not in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotBetween(String value1, String value2) {
            addCriterion("designerprojectitemsproductcustom.UpdateUser not between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("designerprojectitemsproductcustom.UpdateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("designerprojectitemsproductcustom.UpdateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualToColumn(DesignerProjectItemsProductCustom.Column column) {
            addCriterion(new StringBuilder("designerprojectitemsproductcustom.UpdateTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("designerprojectitemsproductcustom.UpdateTime not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        private DesignerProjectItemsProductCustomExample example;

        protected Criteria(DesignerProjectItemsProductCustomExample example) {
            super();
            this.example = example;
        }

        public DesignerProjectItemsProductCustomExample example() {
            return this.example;
        }

        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        public Criteria andLogicalDeleted(boolean deleted) {
            return deleted ? andDeletedEqualTo(DesignerProjectItemsProductCustom.Deleted.IS_DELETED.value()) : andDeletedNotEqualTo(DesignerProjectItemsProductCustom.Deleted.IS_DELETED.value());
        }

        @Deprecated
        public interface ICriteriaAdd {
            Criteria add(Criteria add);
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }

    public interface ICriteriaWhen {
        void criteria(Criteria criteria);
    }

    public interface IExampleWhen {
        void example(com.ecoolex.ying.space.entity.DesignerProjectItemsProductCustomExample example);
    }
}